﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Security;

public partial class WebUserControls_WUCBusquedaUsuariol : System.Web.UI.UserControl
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            switch (OpcionInicial)
            {
                case "Detalle":
                    gvUsuarios.Columns[6].Visible = true;
                    gvUsuarios.Columns[7].Visible = false;
                    break;

                case "Seleccionar":
                    gvUsuarios.Columns[6].Visible = false;
                    gvUsuarios.Columns[7].Visible = true;
                    break;

                default:
                    gvUsuarios.Columns[6].Visible = false;
                    gvUsuarios.Columns[7].Visible = false;
                    break;
            }
        }
    }

    public string OpcionInicial { get; set; }

    public int IdPortafolio
    {
        get
        {
            if (Request.QueryString["idportafolio"] != null)
            {
                return (Convert.ToInt32(Request.QueryString["idportafolio"].ToString()));
            }

            return 0;
        }
    }

    protected void btnBuscarUsuario_Click(object sender, EventArgs e)
    {

        SimcMembershipProvider Provider = (SimcMembershipProvider)Membership.Provider;

        List<MembershipUsuario> UserList = new List<MembershipUsuario>();

        switch (rblTipoBusqueda.SelectedValue)
        {
            // Consultar usuarios por nombre 
            case "1":
                UserList = Provider.GetUsuariosPorNombre(txtBusqueda.Text);
                break;

            // Consultar usuarios por login
            case "2":
                UserList = Provider.GetUsuarioPorLogin(txtBusqueda.Text);
                break;

            // Consultar usuarios por email
            case "3":
                UserList = Provider.GetUsuarioPorEmail(txtBusqueda.Text);
                break;
        }

        gvUsuarios.DataSource = UserList;
        gvUsuarios.DataBind();

    }


    protected void gvUsuarios_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        string comando = e.CommandName;
        int index = Convert.ToInt32(e.CommandArgument.ToString());
        string username = gvUsuarios.Rows[index].Cells[0].Text;

        switch (comando)
        {
            case "Seleccionar":
                {
                    string Url = string.Empty;

                    Url = Request.AppRelativeCurrentExecutionFilePath + "?idportafolio=" + IdPortafolio + "&usuario=" + username;
                    
                    Response.Redirect(Url);
                } break;
            case "Modificar":
                {
                    string Url = "~/Administracion/ModificarUsuario.aspx?Usuario=" + username;
                    Response.Redirect(Url);
                } break;
        }
    }
}